From 7b533d04921e62361ce3455f1276cfee6fe73e84 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Wed, 17 Sep 2008 18:09:13 +0000 Subject: [PATCH] =?utf8?q?=09Bug=20552667=20=E2=80=93=20gtkimage=20contain?= =?utf8?q?ing=20gicon=20leaks=20memory?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * gtk/gtkimage.c: (ensure_pixbuf_for_gicon): Fix critical warnings when looking up the icon fails. Plug a mem leak. svn path=/trunk/; revision=21415 --- ChangeLog | 7 +++++++ gtk/gtkimage.c | 9 ++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index adb5c3654f..51d324ff37 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-09-17 Christian Persch + + Bug 552667 – gtkimage containing gicon leaks memory + + * gtk/gtkimage.c: (ensure_pixbuf_for_gicon): Fix critical warnings + when looking up the icon fails. Plug a mem leak. + 2008-09-17 Matthias Clasen Bug 329593 – Entering characters on a line very cpu intensive and diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index 9f4b111362..15f3bb27d9 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -1611,7 +1611,6 @@ ensure_pixbuf_for_gicon (GtkImage *image) gint width, height; GtkIconInfo *info; GtkIconLookupFlags flags; - GError *error = NULL; g_return_if_fail (image->storage_type == GTK_IMAGE_GICON); @@ -1643,10 +1642,14 @@ ensure_pixbuf_for_gicon (GtkImage *image) info = gtk_icon_theme_lookup_by_gicon (icon_theme, image->data.gicon.icon, MIN (width, height), flags); - image->data.gicon.pixbuf = gtk_icon_info_load_icon (info, &error); + if (info) + { + image->data.gicon.pixbuf = gtk_icon_info_load_icon (info, NULL); + gtk_icon_info_free (info); + } + if (image->data.gicon.pixbuf == NULL) { - g_error_free (error); image->data.gicon.pixbuf = gtk_widget_render_icon (GTK_WIDGET (image), GTK_STOCK_MISSING_IMAGE, -- 2.30.2